/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.sisece.controlador;

import com.sisece.modelo.dato.Categoria;
import com.sisece.service.AdministradorService;
import com.sisece.service.impl.AdministradorServiceImpl;
import java.io.Serializable;
import java.util.List;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author laptop-w8
 */
@ManagedBean
@ViewScoped
public class CategoriaController implements Serializable {

    private List<Categoria> categorias;
    private Categoria categoria;

    /**
     * Creates a new instance of CategoriaController
     */
    public CategoriaController() {
        inicializar();
    }

    private void inicializar() {
        categoria = new Categoria();
        categoria.setEstado(1);
        AdministradorService as = new AdministradorServiceImpl();
        categorias = as.getListaCategorias();
    }

    public void agregarNuevaCategoria() {
        AdministradorService as = new AdministradorServiceImpl();
        FacesMessage mensaje;

        if (as.agregarCategoria(categoria)) {

            mensaje = new FacesMessage(FacesMessage.SEVERITY_INFO, "Resultado:", "Se registro correctamente la categoria " + categoria.getNombre());
        } else {
            mensaje = new FacesMessage(FacesMessage.SEVERITY_WARN, "Resultado:", "No se agrego la categoria " + categoria.getNombre());
        }

        FacesContext.getCurrentInstance().addMessage("form01growl", mensaje);
        inicializar();
    }

    public void actualizarCategoria() {

    }

    public void eliminarCategoria() {

    }

    public Categoria getCategoria() {
        return categoria;
    }

    public void setCategoria(Categoria categoria) {
        this.categoria = categoria;
    }

    public List<Categoria> getCategorias() {
        return categorias;
    }

    public void setCategorias(List<Categoria> categorias) {
        this.categorias = categorias;
    }

}
